import os

FILE_NAME = 'file_os.txt'
ENCODING = 'utf-8'


# 返回当前目录下所有文件组成的列表
print(os.listdir('.'))
# 打开文件
fd = os.open(FILE_NAME, os.O_CREAT | os.O_RDWR)
# 写入内容，必须是byte
print('prepare to write: ')
str = "What's you name, baby? \n"
bytes_st = bytes(str, encoding=ENCODING)
# os.write(fd, str)
os.write(fd, bytes_st)
# 强制将文件写入磁盘, 不强制更新文件的状态信息
os.fdatasync(fd)
# os.write(fd, '风一样的男子')
str = "风一样的男子 \n"
bytes_st = bytes(str, encoding=ENCODING)
os.write(fd, bytes_st)
# 强制将文件写入磁盘
os.fsync(fd)

# 重定位文件指针到文件头
print('prepare to read: ')
os.lseek(fd, 0, os.SEEK_SET)
# 从文件头读取内容
print((os.read(fd, 100)).decode(encoding=ENCODING))
# What's you name, baby?
# 风一样的男子


# 文件是否存在
print('access: %s' % os.access(FILE_NAME, os.F_OK))  # True
# 文件是否存在
print('exist: %s' % os.path.exists(FILE_NAME))       # True
# 当前文件所在目录
print('dir: %s' % os.path.dirname(FILE_NAME))        #
# 当前文件的文件名
print('file: %s' % os.path.basename(FILE_NAME))      # file_os.txt
# 是否目录
print('is_dir: %s' % os.path.isdir(FILE_NAME))       # False
# 是否文件
print('is_file: %s' % os.path.isfile(FILE_NAME))     # True
# 文件大小
print('file size: %s' % os.path.getsize(FILE_NAME))  # 44
# 当前工作目录
print('file path: %s' % os.getcwd())                 # /home/workspace1/workplace/python/python-learning/basic


# 关闭文件
os.close(fd)

# 删除文件
os.unlink(FILE_NAME)

# 只能删除文件, unlink已经删除了
# os.remove(FILE_NAME)

# 只能删除目录
# os.rmdir("")

